package com.kaifamiao.month03.day0310;

public class Test {

    public static void main(String[] args) {
        short i = 1 ;
        // 由于 1 是 int 类型 ， 因此 i+1 运算结果也是 int型需要强制转换类型才能赋值给 short 型
//        i = i + 1; // 这句会报错
        i += 1; // 这个默认改变成 short i = (short) i + 1;
        System.out.println(i);
        Integer a = new Integer(3);
        Integer b = 3; // 将 3 自动装箱成 Integer 类型
        int c = 3;
        System.out.println(a == b); // false 两个引用没有引用同一对象
        System.out.println(a == c); // true a 自动拆箱成 int 类型再和 c比较
        Integer f1 = 100, f2 = 100, f3 = 150, f4 = 150;
        // 如果整型字面量的值在 -128 到 127 之间，那么不会 new 新的 Integer对象 ，
        // 而是直接引用常量池中的 Integer 对象
        System.out.println(f1 == f2);
        System.out.println(f3 == f4);
        String username = null;
        if (username != null && !username.equals( "" ))  // 两个条件不可以换位置，因为一旦字符串是null 进行equals判断会出现异常
            System.out.println("123");
        else {
            System.out.println("23");
        }
        System.out.println(Math.round(11.5)); // 12
        System.out.println(Math.round(-11.5)); // -11
        System.out.println(2 << 3); // 16   二进制计算  10 --> 10000
        System.out.println(8 >> 2); // 2    二进制计算 1000 --> 10
        System.out.println(8 >>> 3); // 1    二进制计算  1000 --> 1

    }
}
